This invention relates to asynchronous transfer mode (ATM) traffic management processes and more particularly to an adaptive service weight assignment algorithm for an ATM traffic manager.
The ATM forum traffic management specification currently defines five service categories which classify traffic according to source behavior and quality of service guarantees. The five service categories are: constant bit rate (CBR), real time variable bit rate (rtVBR), non-real time variable bit rate (nrtVBR), available bit rate (ABR) and unspecified bit rate (UBR). The quality of service classifications are: cell delay variation (CDV), cell transfer delay (CTD), and cell loss ratio (CLR). In order to guarantee the quality of service, a network element must employ a versatile and robust scheduling algorithm which is capable of servicing many queues in a fair manner. Simple scheduling disciplines such as exhaustive round-robin (ERR) were sufficient for system with only two queues, but as the number of queues increases to three and more, ERR may result in starvation of the lower priority queues.
S. GOLESTANI xe2x80x9cA Self-clocked Fair Queuing Scheme for Broadband Applicationsxe2x80x9d INFOCOM 1994 describes a queue scheduling algorithm, weighted fair queuing (WFQ) which has been adopted by industry vendors of ATM equipment. This scheduling scheme is capable of servicing any number of queues, while providing fair and work-conserving access to bandwidth. One of the key features of WFQ is that the CDV and CTD are bounded for any queue as long as it is given an appropriate weight.
The calculation of an appropriate service weight for a queue is performed given parameters which define the source behavior of all member connections and the defined quality of service for the queue. The device which performs this calculation (WFQ Control) currently operates according to one of the following two disciplines:
On the addition or removal of a connection from the queue, a new service weight is calculated, and the update is downloaded to the WFQ arbiter; or
Service weights are configured for each queue and downloaded to the WFQ arbiter by a network management entity, and connections are rejected by the network element if it is determined that quality of service guarantees will be violated by the addition of the connection.
Both of these current disciplines are not desirable in an ATM LAN Emulation (LANE) environment. The first discipline is undesirable because it requires that new service weights be downloaded on every connection setup. Given the fact that the service weight download operation is real-time expensive, this has an adverse affect on call setup performance. In a LANE environment, in which bandwidth is provided on demand, call setup is very frequent, and a low call setup rate has an adverse effect on network performance. The second discipline is not desirable because the network operator may not be able to predict the demand for a particular service category. The network would require constant monitoring and maintenance in order to ensure that the service partitions reflect demand.
The present invention provides an adaptive queue service weight scheme in the WFQ Control device which minimizes the number of service weight updates, and converges to a bandwidth partition between queues which is representative of demand.
Therefore in accordance with a first aspect of the present invention there is provided a system for implementing an adaptive service weight assignment algorithm in an ATM traffic manager, the system comprising; queue arbitration means to assign service weights to connections in proportion to bandwidth demands, and queue weight configuration means to process service traffic in accordance with assigned weights.
In accordance with a second aspect of the present invention there is provided a method of assigning fair weight queuing values to service connections in an ATM traffic manager, the method comprising: evaluating each queue in a plurality of service queues and assigning a time incremented weighted value to each queue; and establishing a connection for each queue on the basis of the weighted value.